// pages/login/login.js
// import Toast from '@vant/weapp/toast/toast';
const app = getApp()
Page({
    /**
     * 页面的初始数据
     */
    data: {
        phone: '17604618635',
        code: '',
        codeMsg: '获取验证码',
        timer: 0,
        disabled: false,
        num: 59,
        goUrl: ''
    },
    /**
     * 获取验证码 */
    async getCode() {
        if (!this.checkData()) return
        wx.showLoading({
            title: '正在发送验证码...',
        })
        const res = await wx.$http.get('/code', {
            mobile: this.data.phone
        })
        this.setData({
            code: res.data.data.code
        })
        wx.hideLoading()
        // 60s倒计时
        this.countDown()
        wx.Toast('验证码发送成功');
    },
    /**
     * 资源校验
     */
    checkData() {
        const reg = /^1[3-9]\d{9}$/
        const phone = this.data.phone
        if (!phone) {
            wx.Toast('请填写手机号码!')
            return false
        }
        if (!reg.test(phone)) {
            wx.Toast('手机号格式不正确!')
            return false
        }
        return true
    },
    /**
     * 获取验证码计时器
     */
    countDown() {
        if (this.data.timer) {
            clearInterval(this.data.timer)
        }
        this.setData({
            codeMsg: `${this.data.num}秒后可重新获取`,
            disabled: true,
            num: this.data.num - 1
        })
        const timer = setInterval(() => {
            if (this.data.num === 0) {
                clearInterval(this.data.timer)
                this.setData({
                    codeMsg: `获取验证码`,
                    timer: 0,
                    disabled: false,
                    num: 59
                })
                return
            }
            this.setData({
                codeMsg: `${this.data.num}秒后可重新获取`,
                timer: timer,
                disabled: true,
                num: this.data.num - 1
            })
        }, 1000)

    },
    /**
     * 点击登录
     */
    async goLogin() {
        if (!this.checkData()) return
        wx.showLoading({
            title: '登录中请稍后!',
        })
        const res = await wx.$http.post('/login', {
            mobile: this.data.phone,
            code: this.data.code
        })

        wx.hideLoading()
        if (res.data.code === 10000) {
            // 跳转至目标页
            // 存储token
            console.log(res)
            wx.setStorageSync('token', res.data.data.token);
            wx.setStorageSync('refreshToken', res.data.data.refreshToken);
            const result = await wx.$http.get('/userInfo')
            app.globalData.userInfo = result.data.data
            if (app.globalData.url) {
                wx.redirectTo({
                    url: app.globalData.url
                })
            } else {
                wx.navigateTo({
                    url: '/pages/index/index'
                })
            }

        } else {
            wx.Toast('验证码错误!')
        }
    },
    /**
    * 生命周期函数--监听页面加载
    */
    onLoad(options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {
        console.log('页面隐藏', this.options)
    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {
        console.log('监听页面卸载', this.options)

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})